﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace ArduinoGenericDistanceSensor
{
    /// <summary>
    /// Локализованный атрибут LocalizedDisplayName дает возможность использовать значения из файла ресурсов.
    /// </summary>
    public class LocalizedDisplayNameAttribute : DisplayNameAttribute
    {
        private readonly string resourceName;
        public LocalizedDisplayNameAttribute(string resourceName)
            : base()
        {
            this.resourceName = resourceName;
        }

        public override string DisplayName
        {
            get
            {
                try
                {
                    return Properties.Resources.ResourceManager.GetString(this.resourceName);
                }
                catch (Exception ex)
                {
                    return ex.Message;
                }
            }
        }
    }

    /// <summary>
    /// Локализованный атрибут LocalizedDescription дает возможность использовать значения из файла ресурсов.
    /// </summary>
    public class LocalizedDescriptionAttribute : DescriptionAttribute
    {
        private readonly string resourceName;
        public LocalizedDescriptionAttribute(string resourceName)
            : base()
        {
            this.resourceName = resourceName;
        }

        public override string Description
        {
            get
            {
                try
                {
                    return Properties.Resources.ResourceManager.GetString(this.resourceName);
                }
                catch (Exception ex)
                {
                    return ex.Message;
                }
            }
        }
    }
}
